package com.p04.study.bean;

/**
 * 猫类
 */
public class Cat {
    /**
     * static 静态的 （全局的）
     * static 修饰了一个属性 属性 就是类属性 类变量
     * static修饰时 一般把访问修饰符给public
     * 如何访问  类名.属性名
     * 类属性： 属于整个该类的属性的值
     */
    private static int num;

    private String name="猫类";

    private int age;

    public Cat() {
        num++;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    /**
     * 被 static 修饰的方法 被称成：静态方法（类方法）
     * @return
     */
       public  static int getStaticNum(){
        /*属性 不能使用 this的原因
          this:表示的当前对象的一个引用(被实例化(new)才能使用this)
          static方法是在类加载的时候被创建的
          注意：
          1 :在static方法中 不能使用this
          2:  静态方法 不能访问 非静态属性
             但是 非静态方法可以访问 静态属性

         */
        return num;
    }

    public void  say(){
        System.out.println("现在有多少只猫："+num);
    }
}
